Chrome 138 beta

Dipublikasikan: 28 Mei 2025

Kecuali jika dinyatakan lain, perubahan berikut berlaku untuk rilis saluran Chrome beta terbaru untuk Android, ChromeOS, Linux, macOS, dan Windows. Pelajari lebih lanjut fitur yang tercantum di sini melalui link yang disediakan atau dari daftar di ChromeStatus.com. Chrome 138 adalah versi beta mulai 28 Mei 2025. Anda dapat mendownload versi terbaru di Google.com untuk desktop atau di Google Play Store di Android.

CSS dan UI

Rilis ini menambahkan enam fitur CSS dan UI baru.

Kata kunci ukuran stretch CSS

Kata kunci untuk properti ukuran CSS (misalnya, width, dan height) yang memungkinkan elemen berkembang untuk mengisi ruang yang tersedia di blok penampung dengan tepat. Ini mirip dengan 100%, kecuali ukuran yang dihasilkan diterapkan ke kotak margin elemen, bukan kotak yang ditunjukkan oleh box-sizing. Dengan menggunakan kata kunci ini, elemen dapat mempertahankan marginnya sekaligus tetap sebesar mungkin.

Fungsi terkait tanda abs() dan sign() menghitung berbagai fungsi yang terkait dengan tanda argumennya.

Variabel env CSS untuk skala font tingkat OS

Mengekspos skala font pilihan pengguna ke CSS. Saat ini, tidak praktis bagi halaman untuk mendeteksi apakah pengguna telah mengubah ukuran font pilihannya dengan preferensi Sistem Operasi. Variabel lingkungan CSS ini akan mencerminkan skala yang dipilih oleh pengguna.

sibling-index() dan sibling-count() CSS

Fungsi sibling-index() dan sibling-count() dapat digunakan sebagai bilangan bulat dalam nilai properti CSS untuk menata gaya elemen berdasarkan posisinya di antara elemen yang bersaudara, atau jumlah total elemen yang bersaudara. Fungsi ini dapat digunakan langsung sebagai nilai bilangan bulat, tetapi yang lebih menarik adalah di dalam ekspresi calc().

li {
  animation-delay: calc(0.1s * sibling-index());
}

Notasi fungsi progres interpolasi: Fungsi progress() CSS

Notasi fungsional progress() adalah fungsi matematika yang menampilkan nilai <number> yang mewakili posisi satu penghitungan (nilai progres) di antara dua penghitungan lainnya (nilai awal progres dan nilai akhir progres).

Viewport Segments Enumeration API

Viewport Segments API memungkinkan developer menyesuaikan tata letak web mereka untuk menargetkan perangkat foldable. Segmen area pandang menentukan posisi dan dimensi wilayah area pandang yang terpisah secara logis. Segmen area pandang dibuat saat area pandang dibagi oleh satu atau beberapa fitur hardware (seperti lipatan atau engsel di antara layar terpisah) yang berfungsi sebagai pembagi; segmen adalah wilayah area pandang yang dapat diperlakukan sebagai berbeda secara logis oleh developer.

Web API

Menambahkan dukungan untuk metadata orientasi frame video ke WebCodecs

Memperkenalkan nilai rotation: int dan flip: bool ke berbagai antarmuka terkait video di WebCodecs sehingga developer dapat menggunakan sumber frame yang memiliki orientasi (misalnya, kamera Android, dan media tertentu). Antarmuka VideoFrame mengembangkan kemampuan untuk membuat VideoFrames dengan rotasi dan pembalikan arbitrer serta accessor untuk informasi ini pada objek VideoFrame. Objek VideoDecoderConfig mendapatkan kolom rotation dan flip yang dimunculkan pada objek VideoFrame yang didekode secara otomatis. Class VideoEncoder mendapatkan mekanisme untuk meneruskan informasi rotasi dan flip dari encode() ke VideoDecoderConfig yang dimunculkan sebagai bagian dari EncodedVideoChunkMetadata. Jika encode() dipanggil dengan frame dengan pengecualian orientationnonfatalatal yang berbeda akan ditampilkan. Metode configure() dapat digunakan untuk mereset orientasi yang diizinkan.

Crash Reporting API: is_top_level dan visibility_state

Fitur ini menambahkan kolom string is_top_level dan visibility_state ke isi API pelaporan error yang dikirim ke endpoint pelaporan default untuk laporan error.

Meng-escape < dan > dalam atribut pada serialisasi

Meng-escape < dan > dalam nilai atribut pada serialisasi. Hal ini mengurangi risiko serangan XSS mutasi, yang terjadi saat nilai atribut ditafsirkan sebagai token tag awal setelah diserialisasi dan diuraikan ulang.

Kebijakan Integritas untuk skrip

Subresource-Integrity (SRI) memungkinkan developer memastikan aset yang ingin dimuat memang aset yang dimuat. Namun, saat ini tidak ada cara bagi developer untuk memastikan bahwa semua skrip mereka divalidasi menggunakan SRI. Header Integrity-Policy memberi developer kemampuan untuk menyatakan bahwa setiap resource dari jenis tertentu perlu diperiksa integritasnya. Jika resource jenis tersebut dicoba dimuat tanpa metadata integritas, upaya tersebut akan gagal dan memicu laporan pelanggaran.

Kuota penyimpanan yang dilaporkan dapat diprediksi

Melaporkan kuota penyimpanan yang dapat diprediksi dari Estimate API StorageManager untuk situs yang tidak memiliki izin penyimpanan tak terbatas. Anda dapat mendeteksi mode penjelajahan pengguna menggunakan kuota penyimpanan yang dilaporkan karena ruang penyimpanan yang tersedia jauh lebih kecil dalam mode Samaran daripada dalam mode reguler.

Ini adalah mitigasi yang mencegah deteksi mode penjelajahan pengguna menggunakan storage API dengan melaporkan kuota buatan, yang sama dengan penggunaan + min(10 GiB, disk dibulatkan ke atas hingga 1 GiB terdekat), di semua mode penjelajahan untuk situs dengan izin penyimpanan terbatas. Situs dengan izin penyimpanan tak terbatas tidak akan terpengaruh. Kuota yang diterapkan juga tidak akan terpengaruh.

Peristiwa pushsubscriptionchange setelah langganan ulang

Aktifkan peristiwa pushsubscriptionchange di pekerja layanan saat origin yang sebelumnya memiliki langganan push, tetapi dicabut karena perubahan izin (dari diberikan menjadi tolak/default), diberi kembali izin notifikasi. Peristiwa akan diaktifkan dengan oldSubscription dan newSubscription kosong.

Aturan spekulasi: Menambahkan prefetchCache dan prerenderCache ke header Clear-Site-Data

Dua nilai baru untuk header Clear-Site-Data guna membantu developer menargetkan penghapusan cache pra-rendering dan pramuat: prefetchCache dan prerenderCache. Ini dapat dikirim pada permintaan apa pun dan tidak perlu dibuat pada permintaan dokumen (misalnya, dapat ditampilkan pada respons panggilan API add-to-basket, atau login dan logout untuk menghapus spekulasi tentang perubahan status).

Aturan spekulasi: kolom target_hint

Hal ini memperluas sintaksis aturan spekulasi untuk memungkinkan developer menentukan kolom target_hint. Kolom ini memberikan petunjuk untuk menunjukkan target yang dapat dijelajahi tempat halaman yang dipra-render pada akhirnya akan diaktifkan. Jika _blank ditentukan sebagai petunjuk, halaman pra-rendering dapat diaktifkan untuk halaman yang dapat dijelajahi dan dibuka oleh window.open(). Kolom tidak didukung untuk pengambilan data sebelumnya.

Kebijakan Origin yang Sama yang Ketat untuk Storage Access API

Menyesuaikan semantik Storage Access API agar mengikuti Kebijakan Asal yang Sama secara ketat, sehubungan dengan keamanan. Artinya, penggunaan document.requestStorageAccess() dalam frame hanya akan melampirkan cookie ke permintaan ke origin iframe (bukan situs) secara default.

Summarizer API

JavaScript API untuk membuat ringkasan teks input, yang didukung oleh model bahasa AI. Browser dan sistem operasi semakin diharapkan untuk mendapatkan akses ke model bahasa. Dengan mengekspos model bawaan ini, kita menghindari setiap situs yang perlu mendownload model bahasa multi-gigabyte mereka sendiri, atau mengirim teks input ke API pihak ketiga. Secara khusus, API ringkasan mengekspos API tingkat tinggi untuk berinteraksi dengan model bahasa guna meringkas input untuk berbagai kasus penggunaan dengan cara yang tidak bergantung pada model bahasa tertentu yang dimaksud. Kebijakan perusahaan (GenAILocalFoundationalModelSettings) tersedia untuk menonaktifkan download model yang mendasarinya, yang akan membuat API ini tidak tersedia.

Pelajari lebih lanjut di Membuat ringkasan ringkas dengan AI bawaan.

Language Detector API

API JavaScript untuk mendeteksi bahasa yang digunakan dalam teks tertentu, dengan tingkat kepercayaan. Ini adalah suplemen penting untuk terjemahan, yaitu deteksi bahasa, dan dapat digunakan bersama dengan Translator API. Misalnya, ambil input pengguna dalam bahasa yang tidak diketahui, tentukan bahasanya, lalu terjemahkan ke bahasa target tertentu. Meskipun Browser sering kali sudah memiliki kemampuan deteksi bahasa, hal ini menawarkan kemampuan yang sama kepada developer web dengan JavaScript API, yang melengkapi API terjemahan.

Kebijakan perusahaan (GenAILocalFoundationalModelSettings) tersedia untuk menonaktifkan model yang mendasarinya agar tidak didownload, yang akan membuat API ini tidak tersedia.

Pelajari lebih lanjut di Mendeteksi bahasa yang digunakan dengan AI bawaan.

Translator API

JavaScript API untuk menyediakan kemampuan terjemahan bahasa ke halaman web. Meskipun browser semakin banyak menawarkan terjemahan bahasa kepada penggunanya, kemampuan terjemahan tersebut juga dapat berguna bagi developer web. Hal ini terutama terjadi jika kemampuan terjemahan bawaan browser tidak dapat membantu, seperti dengan layanan live dan interaktif. Kebijakan perusahaan (GenAILocalFoundationalModelSettings) tersedia untuk menonaktifkan download model yang mendasarinya yang akan membuat API ini tidak tersedia.

Pelajari lebih lanjut di Terjemahan dengan AI bawaan.

Ekstensi cakupan aplikasi web

Menambahkan kolom manifes aplikasi web "scope_extensions" yang memungkinkan aplikasi web memperluas cakupannya ke origin lain. Hal ini memungkinkan situs yang mengontrol beberapa subdomain dan domain level teratas ditampilkan sebagai satu aplikasi web. Memerlukan origin yang tercantum untuk mengonfirmasi pengaitan dengan aplikasi web menggunakan file konfigurasi .well-known/web-app-origin-association.

Serial web melalui Bluetooth di Android

Fitur ini memungkinkan halaman web dan aplikasi web terhubung ke port serial melalui Bluetooth di perangkat Android. Chrome di Android kini mendukung Web Serial API melalui Bluetooth RFCOMM. Kebijakan perusahaan yang ada (DefaultSerialGuardSetting, SerialAllowAllPortsForUrls, SerialAllowUsbDevicesForUrls, SerialAskForUrls, dan SerialBlockedForUrls) di platform lain diaktifkan dalam status future_on untuk Android. Semua kebijakan kecuali SerialAllowUsbDevicesForUrls akan diaktifkan setelah fitur diaktifkan. SerialAllowUsbDevicesForUrls akan diaktifkan dalam peluncuran mendatang setelah Android memberikan dukungan level sistem untuk port serial berkabel.

Penghentian dan penghapusan

Versi Chrome ini memperkenalkan penghentian dan penghapusan berikut. Buka ChromeStatus.com untuk melihat daftar penghentian penggunaan yang direncanakan, penghentian penggunaan saat ini, dan penghapusan sebelumnya.

Rilis Chrome ini tidak lagi menggunakan dua fitur.

Menghentikan penggunaan penghapusan rentang asinkron untuk Ekstensi Sumber Media

Standar Sumber Media telah lama diubah untuk melarang perilaku yang ditentukan secara ambigu yang melibatkan penghapusan rentang asinkron:

  • SourceBuffer.abort() tidak lagi membatalkan operasi SourceBuffer.remove().
  • Setelan MediaSource.duration tidak dapat lagi memotong media yang saat ini di-buffer.

Pengecualian kini akan ditampilkan dalam kedua kasus ini.

Menghapus penggantian SwiftShader

Izin penggantian otomatis ke WebGL yang didukung oleh perender software SwiftShader tidak digunakan lagi dan pembuatan konteks WebGL akan gagal, bukan dikembalikan ke SwiftShader. Hal ini dilakukan karena dua alasan utama:

  1. SwiftShader merupakan risiko keamanan yang tinggi karena kode JIT yang berjalan dalam proses GPU Chromium.
  2. Pengguna memiliki pengalaman buruk saat beralih dari WebGL yang didukung GPU berperforma tinggi ke penerapan yang didukung CPU. Pengguna tidak memiliki kontrol atas perilaku ini dan sulit menjelaskannya dalam laporan bug.

Selama periode penghentian penggunaan, peringatan akan muncul di konsol Chrome DevTools saat konteks WebGL dibuat dan didukung dengan SwiftShader. Meneruskan --enable-unsafe-swiftshader akan menghapus pesan peringatan ini.